home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-12-31 | 86.6 KB | 2,218 lines | [TEXT/R*ch] |
- Received-Date: Thu, 17 Nov 1994 15:39:23 +0100
- From: pottier@clipper.ens.fr (Francois Pottier)
- Subject: csmp-digest-v3-068
- To: csmp-digest@ens.fr
- Date: Thu, 17 Nov 1994 15:39:10 +0100 (MET)
- X-Mailer: ELM [version 2.4 PL23]
- Mime-Version: 1.0
- Content-Type: text/plain; charset=ISO-8859-1
- Content-Transfer-Encoding: 8bit
- Errors-To: listman@ens.fr
- Reply-To: pottier@clipper.ens.fr
- X-Sequence: 74
-
- C.S.M.P. Digest Thu, 17 Nov 94 Volume 3 : Issue 68
-
- Today's Topics:
-
- How do you get the bit depths the main device supports?
- MIDI programming
- Memory management in the Real World, part 2
- Q: Sound Input Device
- QC FAQ
- ResEdit 2.1.3, is it good this time?
- Shareware, VISA Merchant Accounts, and YOU!
- Smalltalk implementations for Mac - update needed
- What is MIDI Manager etc (reply)
-
-
-
- The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
- (pottier@clipper.ens.fr).
-
- The digest is a collection of article threads from the internet newsgroup
- comp.sys.mac.programmer. It is designed for people who read c.s.m.p. semi-
- regularly and want an archive of the discussions. If you don't know what a
- newsgroup is, you probably don't have access to it. Ask your systems
- administrator(s) for details. If you don't have access to news, you may
- still be able to post messages to the group by using a mail server like
- anon.penet.fi (mail help@anon.penet.fi for more information).
-
- Each issue of the digest contains one or more sets of articles (called
- threads), with each set corresponding to a 'discussion' of a particular
- subject. The articles are not edited; all articles included in this digest
- are in their original posted form (as received by our news server at
- nef.ens.fr). Article threads are not added to the digest until the last
- article added to the thread is at least two weeks old (this is to ensure that
- the thread is dead before adding it to the digest). Article threads that
- consist of only one message are generally not included in the digest.
-
- The digest is officially distributed by two means, by email and ftp.
-
- If you want to receive the digest by mail, send email to listserv@ens.fr
- with no subject and one of the following commands as body:
- help Sends you a summary of commands
- subscribe csmp-digest Your Name Adds you to the mailing list
- signoff csmp-digest Removes you from the list
- Once you have subscribed, you will automatically receive each new
- issue as it is created.
-
- The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
- Questions related to the ftp site should be directed to
- scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
- digest are available there.
-
- Also, the digests are available to WAIS users. To search back issues
- with WAIS, use comp.sys.mac.programmer.src. With Mosaic, use
- http://www.wais.com/wais-dbs/comp.sys.mac.programmer.html.
-
-
- -------------------------------------------------------
-
- >From mxmora@unix.sri.com (Matt Mora)
- Subject: How do you get the bit depths the main device supports?
- Date: 31 Oct 1994 11:56:33 -0800
- Organization: SRI International, Menlo Park, CA
-
-
- At Init time I would Like to get the number of bit depths the main device
- can support and make a small Gworld for each of theses bit depths. Is there a
- call that can tell me what the main device can support?
-
-
- Thanks,
-
- Xavier
-
-
-
-
-
-
- --
- ___________________________________________________________
- Matthew Xavier Mora Matt_Mora@sri.com
- SRI International mxmora@unix.sri.com
- 333 Ravenswood Ave Menlo Park, CA. 94025
-
- +++++++++++++++++++++++++++
-
- >From chris-b@cs.auckland.ac.nz (Chris Burns)
- Date: Tue, 01 Nov 1994 21:44:39 +1200
- Organization: AucklandUniversity:ComputerScience:HMU
-
- In article <393i5h$fc@unix.sri.com>, mxmora@unix.sri.com (Matt Mora) wrote:
-
- > At Init time I would Like to get the number of bit depths the main device
- > can support and make a small Gworld for each of theses bit depths. Is there a
- > call that can tell me what the main device can support?
-
- Yep, it's a status call to the video (screen) driver.
-
- Look in <Video.h>. You use the cscGetMode status call. I'll have to get
- back to you with some code (Pascal:), tho' "Designing Cards & Drivers" has
- it all well documented.
-
- Chris B
- - ---------------------------------------------------------------------
- NewZealand:AucklandUniversity:ComputerScience:HyperMediaUnit:ChrisBurns
- Internet: chris-b@cs.auckland.ac.nz
- Phone: +64 9 373-7599 x6194
- Fax: +64 9 373-7453 Async, therefore I am.
- - ---------------------------------------------------------------------
-
- +++++++++++++++++++++++++++
-
- >From eric.hegstrom@3do.com (Eric Hegstrom)
- Date: 1 Nov 1994 23:14:24 GMT
- Organization: 3DO Company
-
- In article <chris-b-0111942144390001@hmu7.cs.aukuni.ac.nz>
- chris-b@cs.auckland.ac.nz (Chris Burns) writes:
-
- > > At Init time I would Like to get the number of bit depths the main device
- > > can support and make a small Gworld for each of theses bit depths. Is there a
- > > call that can tell me what the main device can support?
- >
- > Yep, it's a status call to the video (screen) driver.
- >
- > Look in <Video.h>. You use the cscGetMode status call. I'll have to get
-
- Or you can do it by stepping through HasDepth with all the possible bit
- depths. (Dot overuse the HasDepth function because it has a small
- memory leak -- $2A bytes per call if I remember correctly).
-
- for (bd=1; bd <= someBigNumber; bd *= 2 )
- HasDepth( ..., bd, ...);
-
- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- -=-=-
- This in no way represents the opinion of my employer
- -- or anyone at all for that matter.
-
- Eric Hegstrom eric.hegstrom@3do.com -or- theeric@aol.com
-
- A very bright programmer -- I'm wearing flourescent underware.
-
- +++++++++++++++++++++++++++
-
- >From arose@ATHENA.MIT.EDU (Alex Rosen)
- Date: 2 Nov 1994 21:35:25 GMT
- Organization: Massachusetts Institute of Technology
-
- Use the HasDepth call, available with System Software 6.0.5 or
- thereabouts. Check out Tech Note DV10. (You can find it on
- ftp.apple.com).
-
- --Alex
-
-
- ---------------------------
-
- >From bemaa@celsiustech.se (Bengt M}nsson)
- Subject: MIDI programming
- Date: Tue, 1 Nov 1994 21:31:26 GMT
- Organization: CelsiusTech AB
-
- Hi out there!
- Being both a hobby musician and a hobby programmer I would like to get hold
- of some information:
- a) The specification for MIDI files
- b) How to write applications for the Apple MIDI Manager (or do I have to go
- through the troubles getting it from Apple?)
- c) How to write my own MIDI driver (if at all possible in Pascal)
- Are these issues covered in any document available via ftp?
-
- Bengt M}nsson
-
- +++++++++++++++++++++++++++
-
- >From jbeeghly@u.washington.edu (Jeff Beeghly)
- Date: 1 Nov 1994 23:45:04 GMT
- Organization: University of Washington
-
- >a) The specification for MIDI files
-
- I can't help you out too much on this one, but I KNOW I have seen ftp
- sites on the net which carry a description & breakdown of standard MIDI
- file formats... I just don't know where...
-
-
- >b) How to write applications for the Apple MIDI Manager (or do I have to go
- > through the troubles getting it from Apple?)
-
- It's probably a best bet to purchase the MIDI developer guide from
- Apple. At $35, it's not TOO bad. There is one example floating around
- that might help you out... it's called QwertyTunes and is from someone at
- Apple Developer Tech Support. ftp to ftp.apple.com... it should be
- somewhere there. Other than that, I haven't seen any other examples.
-
-
- >c) How to write my own MIDI driver (if at all possible in Pascal)
- >Are these issues covered in any document available via ftp?
-
-
- Ummm..... I wouldn't do that.... Are you meaning you want to write
- something that will replase the Apple MIDI Manager? DON'T!!!
- Use the Apple MIDI Manager. If it's not what you're looking for, check
- out FREE MIDI (by Opcode, I think). Unless you are planning on writing a
- MIDI driver for your own use, and never plan on releasing any apps that
- use your driver, it will be a waste of your time.
-
-
- Jeff
-
-
- ---------------------------
-
- >From jbeeghly@u.washington.edu (Jeff Beeghly)
- Subject: Memory management in the Real World, part 2
- Date: 18 Oct 1994 16:46:56 GMT
- Organization: University of Washington
-
-
- I was speaking with one of my co-workers today about having to deal with
- handles, MoreMasters, etc... on the Mac. I come from an ANSI-C
- background and am more comfortable with pointers. I feel somewhat
- comfortable with handles, but there are lots of "Brick Walls" which I
- am encountering - like linked lists, and the fact that you need to
- pre-determine the maximum number of handles the app WILL EVER need at
- the beginning of the program. He told me that Windows used to
- be like the Mac (he's a Windows programmer) in terms of memory management:
- everything needed to be done with handles (because the memory was being moved
- around) up until Windows 3.1. In 3.1, Windows could be run in what's
- known as Protected Memory Mode.
-
- In Protected Memory Mode, programmers didn't have to worry about handles
- - they could just use pointers. Yes, memory is still being moved around
- to compact space, but in PMM, the HARDWARE is handling the memory management.
-
- Programmers can just use pointers. The pointer points to a location, and
- that location is being handled be the hardware (if I understand my friend
- correctly). If the memory needs to be moved around, the hardware keeps track
- of everything and the programmer doesn't need to worry about it.
-
- My friend (the Windows programmer) said that I should see if the Macs
- have anything like this. Maybe not the 68000 macs but maybe the 68030 &
- 68040. He said that the mac chips are really advanced and he would be
- surprised if they didn't have it (for a Windows programmer, he was very
- supportive of the Mac).
-
- Now, I don't want to start any Windows vs Mac debates, I was just
- wondering if there is a Mac equivalent of Protected Memory Mode?
-
-
-
- +++++++++++++++++++++++++++
-
- >From mhl@icf.hrb.com (MARK H. LINTON)
- Date: 18 Oct 94 17:18:10 EST
- Organization: HRB Systems, Inc.
-
- In article <381538$fsc@dartvax.dartmouth.edu>, Eric Kidd <emk@dartmouth.edu> writes:
- > In article <380u60$lmv@nntp1.u.washington.edu> Jeff Beeghly,
- > jbeeghly@u.washington.edu writes:
- >>I was speaking with one of my co-workers today about having to deal with
- >>handles, MoreMasters, etc... on the Mac. I come from an ANSI-C
- >>background and am more comfortable with pointers. I feel somewhat
- >>comfortable with handles, but there are lots of "Brick Walls" which I
- >>am encountering - like linked lists, and the fact that you need to
- >>pre-determine the maximum number of handles the app WILL EVER need at
- >>the beginning of the program.
- >
- > [interesting idea re: Windows snipped]
- >
- > You don't need to worry about filling your master pointer blocks. New ones
- > will be automatically allocated by the Memory Manager if you declare more
- > handles than you had expected when you were making your MoreMasters calls.
- >
- > There is a catch, however: these blocks are non-relocatable and will
- > fragment your heap if they are not allocated at one end or the other. To
- > avoid this, Mac programs try to guess a "normal maximum # of handles" at
- > initialization time. This is what you are dealing with, not an absolute
- > limit.
- >
-
- Eric (and Jeff, hello again ;^),
-
- Maybe the mystery surrounding the Handle in the Macintosh world
- is really the puzzler. Easy way around it? Use NewPtr instead of
- NewHandle. If all you are trying to do is make a linked list,
- there is no need to muddy the water with a Handle based
- solution. Now if you are using a ToolBox call (that was designed
- to run on a machine that had 128k of RAM) then you may have to
- use a handle, but you are not required to use them in your own
- data types.
-
- As far as nifty ways to control memory, you really have to get
- Inside Macintosh: Memory. What are you missing if you don't?
-
- o Multiple heaps/heap zones
- o Temporary Memory - allows you to (temporarily) access more
- memory than your program is allocated
- o More complete functions for assessing memory conditions:
- - FreeMem/FreeMemSys
- - MaxBlock/MaxBlockSys
- - PurgeSpace
- - StackSpace
- o More complese functions for freeing memory
- - CompactMem/CompactMemSys - compacts (system) heap
- - PurgeMem/PurgeMemSys - purges (system) heap
- - MaxMem/MaxMemSys - compacts and purges (system) heap
- o Virtual Memory
-
- Jeff said he didn't want to start a Mac/Windows flame war, so I
- won't say what I think of extended memory.
-
- --
- Hope this helps.
-
- Mark H. Linton
- ____________________________________________________________________
- mark \'m‰rk\ n [ME, fr. OE mearc boundary, march, sign; akin to OHG
- marha boundary, L margo] 1 a : a conspicuous object serving as a guide
- for travelers 2 : A standard or criterion of quality 3 : An object or
- point that serves as a guide --idiom. mark time. 1 : To make little or
- no progress
-
- +++++++++++++++++++++++++++
-
- >From kevin@dgs.dgsys.com (Kevin Vail)
- Date: Tue, 18 Oct 1994 18:10:19 -0400
- Organization: Vailhalla
-
- In article <380u60$lmv@nntp1.u.washington.edu>, jbeeghly@u.washington.edu
- (Jeff Beeghly) wrote:
-
- >I was speaking with one of my co-workers today about having to deal with
- >handles, MoreMasters, etc... on the Mac. I come from an ANSI-C
- >background and am more comfortable with pointers. I feel somewhat
- >comfortable with handles, but there are lots of "Brick Walls" which I
- >am encountering - like linked lists, and the fact that you need to
- >pre-determine the maximum number of handles the app WILL EVER need at
- >the beginning of the program. He told me that Windows used to
- >be like the Mac (he's a Windows programmer) in terms of memory management:
- >everything needed to be done with handles (because the memory was being moved
- >around) up until Windows 3.1. In 3.1, Windows could be run in what's
- >known as Protected Memory Mode.
- >
- >In Protected Memory Mode, programmers didn't have to worry about handles
- >- they could just use pointers. Yes, memory is still being moved around
- >to compact space, but in PMM, the HARDWARE is handling the memory management.
-
- That's because the underlying hardware (80386 or higher) uses two items to
- locate any piece of data: a SELECTOR (or "segment") and an OFFSET into the
- segment. The selector is two bytes, the offset can be two or four. This
- has always been how memory is accessed on the 80*86 chips, but in
- non-protected mode the selector part is called the "segment" and indicates
- a physical memory segment address (a segment can begin at any
- divisible-by-16 memory address). You take the segment and shift it four
- bits to the left and add in the offset. This gives you a 20-bit (up to 1
- megabyte) address.
-
- In protected mode, however, the selector bears no relation to the physical
- memory address except that the hardware uses it as an index into a table
- of physical addresses. It takes the beginning of the segment address and
- adds the offset to that to give the actual memory address. In protected
- mode, there is a 4 gigabyte (32-bit) address space. Since the actual
- physical address is only stored in the table that the selector indexes
- into, the operating system (i.e., Windows) can move the physical location
- around; the program still uses the same selector to access it.
-
- This is not possible on the Mac because the Motorola 680*0 chips use a
- linear address space with none of this segment/selector garbage. Windows
- has always used a selector-plus-offset memory model (they refer to the
- segment part as a "handle"); it used to be that you had to make a Windows
- call to find the *real* memory address, but now it's the same, because of
- the way selectors work in protected mode. It has a few advantages in
- special-purpose cases like Windows memory allocation, but in general it's
- *much* easier to define and use a linear address space.
-
- [snip]
-
- >Now, I don't want to start any Windows vs Mac debates, I was just
- >wondering if there is a Mac equivalent of Protected Memory Mode?
-
- The short answer is No, not in the sense you're talking about. (The MMU
- in the 68030 and 68040 is capable of setting up protected memory regions,
- but this isn't used in the MacOS.)
-
- However, here's a thought, and maybe this is what Apple is doing in
- Copland-- wouldn't it be possible to set up the memory so that each
- program had its own address space, with the system heap somehow shared? I
- don't know what you could do with low-memory globals (perhaps set them up
- so each program had its own copy, or make them read-only so that writes
- cause a trap so that changes to the low-memory stuff could be tracked by
- the OS) and I know there's other stuff, but this would provide memory
- protection between tasks and give every program a heap the size of the
- address space; no more trying to guess partition sizes. You'd still have
- to dereference handles, though...
- --
- Kevin Michael Vail | "This is so cool I have to go to the bathroom!"
- kevin@dgs.dgsys.com | -- Calvin
-
- +++++++++++++++++++++++++++
-
- >From h+@nada.kth.se (Jon W{tte)
- Date: Wed, 19 Oct 1994 08:31:31 +0100
- Organization: Royal Institute of Something or other
-
- In article <380u60$lmv@nntp1.u.washington.edu>,
- jbeeghly@u.washington.edu (Jeff Beeghly) wrote:
-
- >comfortable with handles, but there are lots of "Brick Walls" which I
- >am encountering - like linked lists, and the fact that you need to
-
- Linked lists with handles is just as easy as with pointers.
- Just remember to store the HANDLE, not the de-referenced pointer.
-
- >pre-determine the maximum number of handles the app WILL EVER need at
- >the beginning of the program. He told me that Windows used to
-
- Uh? You should make a good guess, if you're really interested
- in efficiency. You can just leave it be, in which case the
- system will allocate onrelocatable master pointer blocks in
- your heap when needed - depending on how you code, these
- allocations may or may not cause memory fragmentation. Mostly
- they don't.
-
- >In Protected Memory Mode, programmers didn't have to worry about handles
- >- they could just use pointers. Yes, memory is still being moved around
- >to compact space, but in PMM, the HARDWARE is handling the memory management.
-
- You can use pointers to your hearts content in the Mac as well.
- Yes; there may be fragmentation, but that's the case for
- Windows as well (it just masks the fact) Indeed, fragmenting VM
- tables is in many cases just as bad as fragmenting "real" memory.
-
- Windows handles are NOT the same as Mac handles; Windows memory
- isn't like Mac memory at all because of their painful segmented
- architecture. Just go ahead and use malloc()! For as much
- memory as you want! And don't worry about pointer arithmetics;
- unlike Windows 3.1, it'll always work.
-
- Cheers,
-
- / h+
-
-
-
- --
- Jon W‰tte (h+@nada.kth.se), Hagagatan 1, 113 48 Stockholm, Sweden
-
- "I like to do very very late binding. åJust in timeπ binding."
- ã Dave Feldt
-
-
- +++++++++++++++++++++++++++
-
- >From bw16@cornell.edu (Bretton Wade)
- Date: Wed, 19 Oct 1994 08:35:10 -0400
- Organization: Cornell Program of Computer Graphics
-
- In article <AACA89E396681EA7F8@klkmac019.nada.kth.se>, h+@nada.kth.se (Jon
- W{tte) wrote:
-
- > Windows handles are NOT the same as Mac handles; Windows memory
- > isn't like Mac memory at all because of their painful segmented
- > architecture. Just go ahead and use malloc()! For as much
- > memory as you want! And don't worry about pointer arithmetics;
- > unlike Windows 3.1, it'll always work.
-
- It's been a while since I was coding in MS Windows. Do they still have
- that silly global limit on the number of handles? It was ridiculously low,
- like 64 or something...
-
- ______________________________________________________________
- Bretton Wade (bw16@cornell.edu)
- http://www.graphics.cornell.edu/~bwade/
- ______________________________________________________________
-
- +++++++++++++++++++++++++++
-
- >From nick@sw.stratus.com (Nicolas Tamburri)
- Date: 19 Oct 1994 14:44:59 GMT
- Organization: Stratus Computer, Inc.
-
- In article <kevin-1810941810190001@vailbox.dgsys.com>, kevin@dgs.dgsys.com (Kevin Vail) writes:
- >
- > However, here's a thought, and maybe this is what Apple is doing in
- > Copland-- wouldn't it be possible to set up the memory so that each
- > program had its own address space, with the system heap somehow shared? I
- > don't know what you could do with low-memory globals (perhaps set them up
- > so each program had its own copy, or make them read-only so that writes
- > cause a trap so that changes to the low-memory stuff could be tracked by
- > the OS) and I know there's other stuff, but this would provide memory
- > protection between tasks and give every program a heap the size of the
- > address space; no more trying to guess partition sizes.
-
- I hope this is what they are doing, since this was old technology 20
- years ago.
-
- I assume that the reason it has not been done yet is because of low
- memory globals and compatibility with older programs. The way other
- vendors have solved this problem (and related memory sharing problems,)
- is 4 fold:
-
- 1. You publish a decree that says "Henceforth storing directly into
- low-memory globals is considered to be a bad programming practice,
- and we are providing you with this/these OS calls for modifying
- those globals."
-
- 2. If you need to set up shared memory between processes, you must use
- these OS calls, i.e. don't assume that the same numeric address
- actually refers to the same physical memory location.
-
- 3. Each process on the system gets its own address space, as you state.
- The low-memory addresses are set up so that reads and writes to them
- actually trap to the OS, which takes apart the instruction and stuffs
- the global data into the process space, (or vice-versa.) For most
- globals, this is sufficient, for some, a global can only be used by
- one process at a time, and if pre-emptive multi-processing is used,
- the calling process may actually block until valid data becomes
- available.
-
- This extra processing is much less efficient than accessing globals
- directly, and thus becomes the incentive to not use them. But, it
- does provide compatability for older programs that may never be
- updated, even though they may run slower.
-
- 4. Spend a bunch of time shaking out the incompatabilities, since what
- I've described is greatly simplified. (On the other hand, it's not
- like I can run every program I've ever bought on my Q650, so maybe
- they won't worry too much about this last part.)
-
- Anxiously awaiting Copeland and Gershwin...
-
- /nt
-
-
-
- +++++++++++++++++++++++++++
-
- >From Jens Alfke <jens_alfke@powertalk.apple.com>
- Date: Wed, 19 Oct 1994 18:03:45 GMT
- Organization: Apple Computer
-
- MARK H. LINTON, mhl@icf.hrb.com writes:
- > Maybe the mystery surrounding the Handle in the Macintosh world
- > is really the puzzler. Easy way around it? Use NewPtr instead of
- > NewHandle.
-
- Not if you're worried about performance; NewPtr is really slow. A better idea
- is to use the malloc/free routines in your development system's ANSI library.
- Generally (at least in THINK and CW) these allocate large blocks via NewPtr
- and then sub-allocate them, which is a lot more efficient than using the Mac
- memory manager straight. The drawback is that these blocks are not disposed
- back to the Mac heap, so you have to make sure that malloc doesn't eat up too
- much of your memory (you need enough free to keep the Toolbox happy.)
-
- --Jens Alfke jens_alfke@powertalk.apple.com
- "A man, a plan, a yam, a can of Spam ... Bananama!"
-
- +++++++++++++++++++++++++++
-
- >From Lloyd Sargent <canna@bga.com>
- Date: 21 Oct 1994 15:04:39 GMT
- Organization: Canna Software Development
-
- Re: Memory management in the Real World, part 2
-
- Don't get me started on that "feature" of Windoze. Yes, it is true,
- Virginia, they do move pointers around without handles. But it is
- at a cost -- you have to follow some rules about how your data is
- formated (i.e. you can't have words on 64K boundaries and a host of
- others that I soon as well forget). It is better? Depends on your
- point of view. When coding, handles don't slow me down. They are
- just another data structure. True, it slows the system down moving
- the handles (and their data) around, but it is just as ugly on the
- Windoze side.
-
- I have to admit, that one feature of Windoze saved my butt (we had
- to build a 2 mb structure in order to get the speed required for
- a customer - if we had used Windoze handles it would have meant re-
- writing large chunks of s/w in a couple of days.
-
- It really boils down to methodology. And that is about a touchy
- subject as religion and politics!
-
- Cheerio,
-
- Lloyd
-
- - --------------------------------------------------------------------
- Lloyd Sargent | "{The mice} are merely the protrusions into
- Canna Software Development | our dimension of vast hyper-intelligent pan-
- Del Valle, Texas | dimensional beings, thw whole business with
- Infobahn: canna@bga.com | cheese and squeaking is just a front"
- AppleLink: CANNA.SW.DEV | Hitchhikers Guide To The Galaxy
- Voice: 512.243.0283 | "nam et ipsa scientia potestas est"
- 512.243.3355 | {for knowledge too is itself power}
- "Been there, done that." | Francis Bacon
-
- +++++++++++++++++++++++++++
-
- >From Glenn L. Austin <glenn_a@efn.org>
- Date: Fri, 21 Oct 1994 18:39:15 GMT
- Organization: Eugene FreeNet
-
- In article <1994Oct19.180345.10342@gallant.apple.com> Jens Alfke,
- jens_alfke@powertalk.apple.com writes:
- >Not if you're worried about performance; NewPtr is really slow. A better
- idea
- >is to use the malloc/free routines in your development system's ANSI
- library.
- >Generally (at least in THINK and CW) these allocate large blocks via
- NewPtr
- >and then sub-allocate them, which is a lot more efficient than using the
- Mac
- >memory manager straight. The drawback is that these blocks are not
- disposed
- >back to the Mac heap, so you have to make sure that malloc doesn't eat
- up too
- >much of your memory (you need enough free to keep the Toolbox happy.)
-
- DON'T USE malloc/free!!! Although they do sub-allocate, they still call
- NewPtr, and if you think you'll get better performance calling something
- that calls NewPtr, you need to check your logic circuits.
-
- Use NewPtr and DisposPtr, or better yet, design your own
- malloc/realloc/free using locked, dereferenced handles. This way you can
- control your memory usage and still have the resizable objects that true
- pointers don't provide (there is a SetPtrSize, but that's a crash waiting
- to happen, since it doesn't work exactly like realloc but attempts to
- resize the memory block in place, while SetHandleSize is allowed to move
- the unlocked block of memory to satisfy the request).
-
- The only time to use true malloc/free is under Windows, since that
- brain-dead operating system only allows for 8192 total global handles,
- and the only way to handle large amounts of data is to use the dev.
- environment's large model (or huge model) and let it allocate and
- suballocate memory for you.
- //
- // Glenn L. Austin
- // Computer Wizard and Racing Car Driver
- // Internet: glenn_a@efn.org
- //
-
- +++++++++++++++++++++++++++
-
- >From nagle@netcom.com (John Nagle)
- Date: Sun, 23 Oct 1994 16:51:17 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- chopps@water.emich.edu (Christian E. Hopps) writes:
- >An MMU is not setup to handle application based resizing mostly.
-
- >I'me not sure if you've had experiance with MMU's before or not. However
- >MMU's do not map just any logical address to just any physical one (in
- >most cases.) The 680x0 MMU's and the PPC MMU's map pages (4k or 8k mostly).
-
- Interestingly, Intel 386 machines and up have MMUs that are designed to
- manage lots of segments, with sizes ranging from a few bytes to many
- megabytes. The bounds of the segment are expressed in bytes, not pages,
- until the segment gets really big, and then it has to be rounded up to the
- next chunk (512 bytes?).
-
- Because DOS/Windows doesn't fully use these capabilities, they aren't
- well known. But the CPU architecture is almost ideal for a system with lots
- of little protected objects. The PenPoint prototype used it quite
- successfully, before AT&T bought it and made them switch to another CPU.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From devon_hubbard@taligent.com (Devon Hubbard)
- Date: Tue, 18 Oct 1994 21:21:15 GMT
- Organization: Taligent, Inc.
-
- In article <380u60$lmv@nntp1.u.washington.edu>, jbeeghly@u.washington.edu
- (Jeff Beeghly) wrote:
-
- >Now, I don't want to start any Windows vs Mac debates, I was just
- >wondering if there is a Mac equivalent of Protected Memory Mode?
-
- Not currently, no. :-]
-
- dEVoN
-
- - -----------------------------------------------------------------------
- Devon Hubbard Silicon Pilot
- devon_hubbard@taligent.com Taligent, Inc
-
- +++++++++++++++++++++++++++
-
- >From lsr@taligent.com (Larry Rosenstein)
- Date: Wed, 19 Oct 1994 01:20:02 GMT
- Organization: Taligent, Inc.
-
- In article <1994Oct18.171810.22120@hrbicf>, mhl@icf.hrb.com (MARK H.
- LINTON) wrote:
-
- > is really the puzzler. Easy way around it? Use NewPtr instead of
- > NewHandle. If all you are trying to do is make a linked list,
-
- NewPtr is very slow because it tries to place the pointer as low in the
- heap as possible. You may be better doing NewHandle and immediatly
- locking the handle.
-
- --
- Larry Rosenstein
- Taligent, Inc.
-
- lsr@taligent.com
-
- +++++++++++++++++++++++++++
-
- >From Rick_Holzgrafe@taligent.com (Rick Holzgrafe)
- Date: Wed, 19 Oct 1994 03:21:41 GMT
- Organization: Semicolon Software
-
- In article <380u60$lmv@nntp1.u.washington.edu>, jbeeghly@u.washington.edu
- (Jeff Beeghly) wrote:
-
- > the fact that you need to
- > pre-determine the maximum number of handles the app WILL EVER need at
- > the beginning of the program.
-
- Well, you don't *need* to. The Mac will allocate more master pointer
- blocks for you as and when needed. But you do *want* to, because master
- pointer blocks are themselves locked. The system will spend time trying to
- move unlocked handles around in order to place the master pointer block
- near one end of your heap, to avoid fragmentation; and if it can't manage
- it, then you get fragmentation anyway.
-
- -- Rick Holzgrafe, a member of the Taligentsia
- Rick_Holzgrafe@taligent.com
- rmh@taligent.com
-
- +++++++++++++++++++++++++++
-
- >From edevinney@aol.com (EDevinney)
- Date: 24 Oct 1994 16:11:04 -0400
- Organization: America Online, Inc. (1-800-827-6364)
-
- In article <nagleCy4xHH.KCM@netcom.com>, nagle@netcom.com (John Nagle)
- writes:
- >>>
- Interestingly, Intel 386 machines and up have MMUs that are designed to
- manage lots of segments, with sizes ranging from a few bytes to many
- megabytes. The bounds of the segment are expressed in bytes, not pages,
- until the segment gets really big, and then it has to be rounded up to the
- next chunk (512 bytes?).
-
- Because DOS/Windows doesn't fully use these capabilities, they aren't
- well known. But the CPU architecture is almost ideal for a system with
- lots
- of little protected objects. The PenPoint prototype used it quite
- successfully, before AT&T bought it and made them switch to another CPU.
- <<<
-
- The PenPoint memory manager used 4k pages throughout. One could create
- new heaps for variable-sized data, and that was nice, but those also used
- 4k pages - you wouldn't use a heap like a handle if you gave any thought
- about overhead. It would be nice to use the MMU to get a protected,
- never-fragmenting soup of variable-sized objects, but PenPoint didn't have
- it.
-
- Regardless, PenPoint did show me that while VM is nice, it is by no means
- the panacea that handle-opponents often make it out to be. Real RAM does
- eventually run out, and it runs out quick on small (ie commonplace)
- machines. Performance takes a big hit when thrashing, and users find that
- unacceptable, and it can kill battery life on mobile machines. Like
- handles, VM should be used with care and a full understanding of the costs
- involved.
-
- regards -
-
- ed devinney (GO & EO alumnus)
-
-
-
- +++++++++++++++++++++++++++
-
- >From Peter_Gontier@novell.com (Pete Gontier)
- Date: Mon, 24 Oct 1994 19:30:56 -0800
- Organization: Novell, Inc., Walnut Creek Macintosh Site
-
- In article <bw16-1910940835100001@frost.graphics.cornell.edu>,
- bw16@cornell.edu (Bretton Wade) wrote:
-
- >> It's been a while since I was coding in MS Windows. Do they still have
- > that silly global limit on the number of handles? It was ridiculously low,
- > like 64 or something...
-
- 8192. Yes, ridiculously low, if you use those blocks for general managment
- and don't break them up internally to your program. I believe their 32-bit
- environments lift the restriction, though.
-
- --
- Views expressed here do not necessarily reflect the views of Novell.
-
- +++++++++++++++++++++++++++
-
- >From Peter_Gontier@novell.com (Pete Gontier)
- Date: Mon, 24 Oct 1994 19:34:53 -0800
- Organization: Novell, Inc., Walnut Creek Macintosh Site
-
- In article <Cy1D5G.71z@efn.org>, Glenn L. Austin <glenn_a@efn.org> wrote:
-
- > DON'T USE malloc/free!!! Although they do sub-allocate, they still call
- > NewPtr, and if you think you'll get better performance calling something
- > that calls NewPtr, you need to check your logic circuits.
-
- Do some benchmarking, Glenn. They really are faster. They call NewPtr only
- for blocks above a certain size and when a block which has been
- sub-allocated fills up.
-
- --
- Views expressed here do not necessarily reflect the views of Novell.
-
- +++++++++++++++++++++++++++
-
- >From tnelson@fluorite.telesciences.com (Tracy M Nelson)
- Date: 25 Oct 1994 17:04:19 GMT
- Organization: Securicor Telesciences Inc
-
- John Nagle (nagle@netcom.com) wrote:
- : Interestingly, Intel 386 machines and up have MMUs that are designed to
- : manage lots of segments, with sizes ranging from a few bytes to many
-
- Not surprising, since they copied many of the design elements of the iAPX432
- processor, which relied on the concept of "capabilities" (a sort of an
- address + access permission structure, which maps nicely into a two-register
- data access scheme) to manage their objects. I don't know anything about the
- specifics of the '386 MMU, but it's possible that, given a proper
- object-oriented OS and development environment, the x86 architecture could be
- handy after all...
-
- --
- Tracy Nelson (tnelson@telesciences.com)
- // WARNING: May contain code which is too intense for young programmers...
-
- +++++++++++++++++++++++++++
-
- >From ajbarry@ozemail.com.au (Andrew Barry)
- Date: Thu, 27 Oct 1994 08:33:20 GMT
- Organization: OzEmail Pty Ltd Sydney Australia
-
- Tracy M Nelson (tnelson@fluorite.telesciences.com) wrote:
- : John Nagle (nagle@netcom.com) wrote:
- : : Interestingly, Intel 386 machines and up have MMUs that are designed to
- : : manage lots of segments, with sizes ranging from a few bytes to many
-
- : Not surprising, since they copied many of the design elements of the
- : iAPX432 processor, which relied on the concept of "capabilities"
- : (a sort of an address + access permission structure, which maps
- : nicely into a two-register data access scheme) to manage their
- : objects. I don't know anything about the
- : specifics of the '386 MMU, but it's possible that, given a proper
- : object-oriented OS and development environment, the x86
- : architecture could be handy after all...
-
- Hmmm...the main problem with the 386 MMU (at least as far as selectors
- go), is that there are only 8192 selectors available in each of the local
- and global descriptor tables. Unfortunately, this would mean a maximum of
- 8192 objects per process (or in the case of Windows, 8192 handles in use
- across the entire system).
-
- Just as some further information, 386 handles have a granularity of 16
- bytes, unless you want to address memory beyond 16Mb, at which point the
- granularity goes up to 4k.
-
- Also note that Microsoft is ditching the use of selectors as handles in
- Chicago and NT, where they're using a flat address space.
-
- Just a bit of input...personally I don't think the 386 architecture
- can be useful.
- Andrew
-
- +++++++++++++++++++++++++++
-
- >From philip@cs.wits.ac.za (Philip Machanick)
- Date: 28 Oct 1994 07:35:59 GMT
- Organization: Computer Science Dept, U of Witwatersrand
-
- In article <Cy8oAD.Dzw@teleride.on.ca>, stevew@teleride.on.ca (Stephen M.
- Webb) wrote:
- > Virtual memory became possible only with the 68020, which was not in
-
- Wasn't it the 68010 that added VM support? Some managed to find complex
- hardware workarounds, like second processor to handle page faults.
-
- > production at the time the Mac was released. Handles were required to
- > support a pseudo-virtual memory scheme under which regions of memory
- > could be relocated during a system call if necessary, and without
- > notice, at run time. Such a scheme does not require restartable instructions.
-
- I don't think this is sufficient reason to introduce handles. Other
- systems had things like overlays (clumsy but easier to program). I think
- the real reason for overlays was system calls and user program were
- allocating sometimes short-lived data (e.g. for menus) in the same small
- heap. With so little RAM to play with a conventional memory manager would
- have had problems coping. Things like puregeable resources help, but could
- work without handles if there is enough free RAM to run a conventional
- memory manager (with free list, coalescing adjacent blocks etc.).
-
- The Lisa - which initially was sold with much more RAM than a Mac - had a
- more sophisticated memory management scheme. Does anyone know details?
- --
- Philip Machanick philip@cs.wits.ac.za
- Department of Computer Science, University of the Witwatersrand
- 2050 Wits, South Africa (at University of Cape Town 4 July-7 Nov)
- phone 27(11)716-3309 fax 27(11)339-7965
-
- +++++++++++++++++++++++++++
-
- >From pcastine@prz.tu-berlin.de (Peter Castine)
- Date: Fri, 28 Oct 1994 12:13:55 GMT
- Organization: Process Control Center
-
- In article <Cy8oAD.Dzw@teleride.on.ca>, (Stephen M.
- Webb) wrote:
- > > Virtual memory became possible only with the 68020, which was not in
- > > production at the time the Mac was released.
-
- In response, in article <philip-2810940935360001@mackerel.cs.uct.ac.za>,
- philip@cs.wits.ac.za (Philip Machanick) wrote:
- > The Lisa - which initially was sold with much more RAM than a Mac - had a
- > more sophisticated memory management scheme. Does anyone know details?
-
- Lisa had a PMMU and (I'm 99% sure of this) memory protection. I'm not sure
- about virtual memory (the first Lisas were diskette-based, but later
- models had external hard disks).
-
-
- Philip also said:
- > I don't think this is sufficient reason to introduce handles. Other
- > systems had things like overlays (clumsy but easier to program). I think
- > the real reason for overlays was system calls and user program were
- > allocating sometimes short-lived data (e.g. for menus) in the same small
- > heap. With so little RAM to play with a conventional memory manager would
- > have had problems coping. Things like puregeable resources help, but could
- > work without handles if there is enough free RAM to run a conventional
- > memory manager (with free list, coalescing adjacent blocks etc.).
-
- Menus should never be purgeable. But windows (particularly Dialogs and
- Alerts) come and go and chew up memory. Ditto for fonts.
-
- Overlays *are* clumsy, require a lot of attention on the part of the
- applications programmer (IMO, more work than the occaisional
- _HLock/_HUnlock call), and are usually used for swapping sections of
- program code (and, hence, don't help with memory requirements of windows,
- etc.).
-
- --
- Peter Castine | Useful approximations:
- pcastine@prz.tu-berlin.de | Pi seconds is a nanocentury.
- Process Control Center | Electricity travels a foot per nanosecond.
- Technical University Berlin | One ostrich egg will feed 24 people for brunch.
-
- +++++++++++++++++++++++++++
-
- >From fixer@faxcsl.dcrt.nih.gov (Chris Driving in the Rain Tate)
- Date: Fri, 28 Oct 1994 12:54:47 GMT
- Organization: DCRT, NIH, Bethesda, MD
-
- In article <philip-2810940935360001@mackerel.cs.uct.ac.za>, philip@cs.wits.ac.za (Philip Machanick) writes:
- >In article <Cy8oAD.Dzw@teleride.on.ca>, stevew@teleride.on.ca (Stephen M.
- >Webb) wrote:
- >> Virtual memory became possible only with the 68020, which was not in
- >> production at the time the Mac was released. Handles were required to
- >> support a pseudo-virtual memory scheme under which regions of memory
- >> could be relocated during a system call if necessary, and without
- >> notice, at run time. Such a scheme does not require restartable
- >> instructions.
- >
- >I don't think this is sufficient reason to introduce handles. Other
- >systems had things like overlays (clumsy but easier to program). I think
- >the real reason for overlays was system calls and user program were
- >allocating sometimes short-lived data (e.g. for menus) in the same small
- >heap. With so little RAM to play with a conventional memory manager would
- >have had problems coping. Things like puregeable resources help, but could
- >work without handles if there is enough free RAM to run a conventional
- >memory manager (with free list, coalescing adjacent blocks etc.).
-
- Overlays are only for code, most times. The CODE segment structure of
- the Mac's runtime environment is far superior, IMHO. What people are
- talking about here is using the PMMU to move stuff around in physical
- memory without changing its logical addressing, transparently to the
- application.
-
- Basically, the reason the Mac doesn't do this is that the MC68000 doesn't
- have any hardware memory-management; handles were a way to give the OS
- *some* way of making room for new allocations in a fragmented heap.
-
- >The Lisa - which initially was sold with much more RAM than a Mac - had a
- >more sophisticated memory management scheme. Does anyone know details?
-
- The Lisa was an amazingly advanced machine for its day. It *did* have
- hardware memory management, and preemptive multitasking. It achieved this
- through custom hardware to supplement the 68000 (which, as I said, didn't
- offer any of this functionality itself). This is part of what made the
- Lisa so expensive, unfortunately; it was too much technology for the niche
- it needed to occupy.
-
- - ------------------------------------------------------------------
- Christopher T{te | "I never thought of surgery as 'editing
- fixer@faxcsl.dcrt.nih.gov | a person' before...."
- eWorld: cTate | -- Mark Linton (mhl@icf.hrb.com)
-
- +++++++++++++++++++++++++++
-
- >From "Donald T. Major" <sasdtm@unx.sas.com>
- Date: Fri, 28 Oct 1994 15:11:05 GMT
- Organization: SAS Institute Inc.
-
- Handles, and the Lisa memory management, etc., all came from the
- work achieved with Smalltalk-80. Handles are a direct descendant of
- the object table of Smalltalk, just implemented in a more flexible
- manner. Sure, in Smalltalk object references were offsets in the
- object table, and the only "real" pointers the system used were the
- result of resolving such a reference, but the basic idea was there (it
- may even be older than that--I honestly don't know). The really neat
- part about the Smalltalk model, though, was that it allowed for a very
- flexible virtual memory scheme, where disk I/O was even more of a
- major system expense than it is today. LOOM and another similar scheme,
- the name of which escapes me at the moment, were virtual memory systems
- implemented for Smalltalk, to allow moving only the minimum amount of
- data to and from disk as necessary. Implemented entirely in software,
- they could make use of ridiculously small chunks of memory (since most
- objects were ridiculously small) to load an object from disk, while
- keeping as many current system objects loaded as possible, and cutting
- back on the total amount of RAM lost to pad bytes. Since RAM in the
- original Smalltalk-80 implementation couldn't exceed 2 meg, this was
- a very desirable goal.
-
- This flexibility is why handles were used in the Mac from day one (and
- I believe in the Lisa, though I can't swear to it)--the original Mac
- only had 128k of ram, of which only about 80k was available to
- applications; even the Finder was an application which was just run
- when no other applications were loaded. The virtual memory scheme was
- also adapted, though only for loading stuff in, not writing data back
- out (CODE resources, MDEFs, etc., are all based on this scheme). It's
- true that the original reasons for handles are gone, but that doesn't
- mean that their usefulness is; I personally rarely find using handles
- that much of a hassle, while heap fragmentation can be very irritating,
- and often means I need more RAM for my heap.
-
- *Maybe* when we finally get virtual addressing I'll feel differently
- (note, this is NOT virtual memory), but for now, I like the Handle.
-
- +++++++++++++++++++++++++++
-
- >From Jonathan Gary <jgary@ssd.kodak.com>
- Date: Thu, 3 Nov 1994 17:55:02 GMT
- Organization: Eastman Kodak
-
- > Message-ID: <Cy8oAD.Dzw@teleride.on.ca>
-
- In article <Cy8oAD.Dzw@teleride.on.ca> Stephen M. Webb,
- stevew@teleride.on.ca
- writes:
- > Virtual memory became possible only with the 68020, which was not in
- > production at the time the Mac was released.
-
- This is mostly correct, as the 68010 also supports interruptable
- instructions
- which allow mid-instruction page faults. With all the addressing modes of
- the
- 68K, a single instruction can cause a large number (I think as many as
- 17) page
- faults.
-
- +++++++++++++++++++++++++++
-
- >From pgontier@novell.com (Pete Gontier)
- Date: Mon, 07 Nov 1994 10:12:50 -0700
- Organization: Novell, Inc., Walnut Creek Macintosh Client Site
-
- In article <CypDrr.1qn@newsserver.pixel.kodak.com>,
- Jonathan Gary <jgary@ssd.kodak.com> wrote:
-
- > In article <Cy8oAD.Dzw@teleride.on.ca> Stephen M. Webb,
- > stevew@teleride.on.ca writes:
- >
- > > Virtual memory became possible only with the 68020, which was not in
- > > production at the time the Mac was released.
- >
- > This is mostly correct, as the 68010 also supports interruptable
- > instructions which allow mid-instruction page faults.
-
- Not really. There were several UNIX systems which handled virtual memory
- page faults on a regular old 68000 by handing control to their *second*
- 68000 ...
-
- --
- Views expressed here do not necessarily reflect those of my employer.
-
- +++++++++++++++++++++++++++
-
- >From lsr@taligent.com (Larry Rosenstein)
- Date: Thu, 3 Nov 1994 22:11:13 GMT
- Organization: Taligent, Inc.
-
- In article <philip-2810940935360001@mackerel.cs.uct.ac.za>,
- philip@cs.wits.ac.za (Philip Machanick) wrote:
-
- > The Lisa - which initially was sold with much more RAM than a Mac - had a
- > more sophisticated memory management scheme. Does anyone know details?
-
- The Lisa supported segmented virtual memory and protected address spaces,
- but it still used handles. (BTW, I believe it had a custom MMU.)
-
- The main reason was that data segments could not be automatically paged in
- and out, because the 68000 CPU didn't support restarting instructions on a
- fault. (68000 machines that did support full demand paging like the early
- Apollos used 2 CPUs, one of which was dedicated to loading pages from the
- disk.)
-
- The Lisa did support demand paging of code segments and automatic stack
- expansion. This was possible because there were a limited set of
- instructions used to access code segments, and the OS group figured out
- how to restart those instructions.
-
- Similarly for the stack segment, the compiler generated a TST instruction
- at function entry to touch the maximum stack address needed in the
- function. The OS knew how to restart that instruction as well.
-
- Handles are useful in an environment with a fixed sized data space where
- heap blocks of varying size are allocated and deallocated relatively
- frequently.
-
- --
- Larry Rosenstein
- Taligent, Inc.
-
- lsr@taligent.com
-
- ---------------------------
-
- >From gg110@cus.cam.ac.uk (G. Gavazzi)
- Subject: Q: Sound Input Device
- Date: 1 Nov 1994 01:36:02 GMT
- Organization: University of Cambridge, England
-
- Hi everybody,
- I need some help, sorry for the naive question: I am using:
-
- Handle rate;
- SPBGetDeviceInfo(myInRefNum,siSampleRateAvailable,*rate);
-
- to determine the available sampling rate of the sound device input. Now
- the Inside Mac VI tells that this function returns an Integer and a Handle
- (list of sample rates of type Fixed). I think then that *rate points to a
- 4 bytes int, the next 4 bytes Fixed being allocated for the first sample
- rate and so on. Besides the fact that I do not know what kind of type is
- Fixed (fixed point? not standard C certainly) I cannot get a sensible
- result out of this :(
-
-
- Also my SPBRecordToFile(out_file,&myinParam,FALSE) does not fill my
- out_file, I think because the sampling rate is 0. And I cannot set the
- sampling rate with SPBSetDeviceInfo() 'cause I get bad sampling rate error
- (-225). (btw: I am using the wonderful CW4 :)
-
- Can somebody point me to some example source code (I should be able to ftp
- a develop issue if necessary)?
-
- Thank you.
- Giuliano Gavazzi
-
- +++++++++++++++++++++++++++
-
- >From chris-b@cs.auckland.ac.nz (Chris Burns)
- Date: Tue, 01 Nov 1994 21:33:16 +1200
- Organization: AucklandUniversity:ComputerScience:HMU
-
- In article <394622$jri@lyra.csx.cam.ac.uk>, gg110@cus.cam.ac.uk (G.
- Gavazzi) wrote:
-
- > to determine the available sampling rate of the sound device input. Now
- > the Inside Mac VI tells that this function returns an Integer and a Handle
- > (list of sample rates of type Fixed). I think then that *rate points to a
- > 4 bytes int, the next 4 bytes Fixed being allocated for the first sample
- > rate and so on. Besides the fact that I do not know what kind of type is
- > Fixed (fixed point? not standard C certainly) I cannot get a sensible
- > result out of this :(
-
- /////////////////////////////////////////////////////////////////////////
- // Include appropriate header files
-
- #include <SoundInput.h>
- #include <FixMath.h>
-
- /////////////////////////////////////////////////////////////////////////
- // Set up types to access a handle to an array of Fixed
-
- typedef Fixed RateList[];
- typedef RateList **RateListHandle;
-
- /////////////////////////////////////////////////////////////////////////
- // Define a structure according to IM6 22-67 'srav'
-
- struct{
- short count;
- RateListHandle rates;
- }SampleRates;
-
- /////////////////////////////////////////////////////////////////////////
- // Get sound input device to fill in the "SampleRates" struct
-
- Err = SPBGetDeviceInfo(RefNum,siSampleRateAvailable,(Ptr)&SampleRates);
- FailOSErr(Err,"\p_SPBGetDeviceInfo[siSampleRateAvailable] FAILED");
-
- /////////////////////////////////////////////////////////////////////////
- // For example, pick the highest sampling rate from the ones returned.
-
- long MaxLong;
- long MaxPos;
- Fixed CurFixed;
- long CurLong;
- short i;
-
-
- if (SampleRates.count == 0)
- SampleRate = (**SampleRates.rates)[2];
- else
- {
- MaxLong = 0;
- MaxPos = 0;
-
- for (i = 0;i < SampleRates.count;i++)
- {
- CurFixed = (**SampleRates.rates)[i];
- if (BitTst((Ptr)&CurFixed,0))
- {
- BitClr((Ptr)&CurFixed,0);
- CurLong = 32768 + Fix2Long(CurFixed);
- }
- else
- CurLong = Fix2Long(CurFixed);
-
- if (CurLong >= MaxLong)
- {
- MaxLong = CurLong;
- MaxPos = i;
- }
- }
- SampleRate = (**SampleRates.rates)[MaxPos];
- }
-
- /////////////////////////////////////////////////////////////////////////
- // Set sampling rate
-
- Err = SPBSetDeviceInfo(RefNum,siSampleRate,(Ptr)&SampleRate);
- FailOSErr(Err,"\p_SPBGetDeviceInfo[siSampleRate] FAILED");
-
- Chris B
- - ---------------------------------------------------------------------
- NewZealand:AucklandUniversity:ComputerScience:HyperMediaUnit:ChrisBurns
- Internet: chris-b@cs.auckland.ac.nz
- Phone: +64 9 373-7599 x6194
- Fax: +64 9 373-7453 Async, therefore I am.
- - ---------------------------------------------------------------------
-
- ---------------------------
-
- >From Pete Gontier <gurgle@dnai.com>
- Subject: QC FAQ
- Date: 1 Nov 1994 08:01:21 GMT
- Organization: Pete's Proxy Posting, Ink.
-
- This is a monthly posting. Changes this month: none.
- This posting is available via 'ftp':
-
- ftp://ftp.dnai.com/users/gurgle/QC_FAQ.txt
-
- Poster has no affiliation with Onyx Technology. Please email
- responses to addresses listed at the bottom of this text.
-
- - --------------------- cut here -----------------------
-
- QC(tm) FAQ 0794.2
- =================
-
- Q: So what is QC?
-
- A: QC is a control panel/extension that adds the ability to stress test
- applications for runtime, memory related errors. QC can be used during
- development, during testing by inhouse and beta testers, and after the
- product ships (although a little late if errors are detected) by end
- users to evaluate the stability of a software package.
-
- Q: Is there a demo available?
-
- A: Yes. It is available from most online services as well as Internet
- sites like sumex.
-
- Q: What do I have to do to use the demo?
-
- A: Put QC in your Control Panels folder and reboot your Mac. If the demo
- has expired contact us at one of the online addresses listed above.
-
- Q: Can I use QC to test existing applications without rebuilding them?
-
- A: Yes. QC was designed to test applications without requiring any
- modifications to the code. The release version of QC includes an
- optional application programming interface (QCAPI) that programmers can
- use to control QC testing directly from their code.
-
- Q: How does QC report errors it finds?
-
- A: QC reports detected errors through the use of a low level debugger.
- QC uses the _DebugStr trap to cause a user break into your favorite
- debugger. QC is fully compatible with MacsBug, TMON, TMON PRO, The
- Debugger, SourceBug, SADE, THINK C, CodeWarrior, MPW, etc. If you turn
- off debug breaks in the list of options, QC will emit a short
- distinctive beep when errors are detected.
-
- Q: Does QC work on a Power Macintosh?
-
- A: Yes. However, two incompatible tests are disabled if you are using
- the Modern Memory Manager. Those tests are 'Block Bounds Checking' and
- 'Invalidate Free Memory'. The next release of QC will be a native
- PowerPC application and will be available as a free upgrade to existing
- users.
-
- Q: How does QC compare with tools such as Even Better Bus Error and the
- debugging version of the Modern Memory Manager?
-
- A: EBBE is a free utility but one downfall it has is that it's either
- installed or it isn't. You either get bus errors potentially caused in
- all running apps or you get nothing. With QC, you can control when
- testing is active and what apps might potentially crash with a bus
- error. Everything is unaffected. Although early development versions
- were available, we are not aware of any debugging version of the Modern
- Memory Manager being made available by Apple at this time. Early
- versions of MMM were much slower than QC in comprobable tests and the
- MMM does not offer as many tests as QC does. There is also no easy to
- use UI to activate/deactivate MMM testing on an application heap.
-
- Q: What are the advantages to using QC?
-
- A: QC offers tests that are not available anywhere else and it performs
- many tests much faster than other testing tools. All QC's tests are
- integrated into a single INIT/cdev combination. A Macintosh interface
- makes QC usable right out of the box. QC's API can be used to fine tune
- testing to specific areas of code (new code or suspect code, for
- example). QC reports more information when an error is found.
-
- Q: What do I get when I purchase QC?
-
- A: The following is contained on the release disk. A fully licensed copy
- of QC for single machine use and complete documentation. The QC
- Application Programming Interface (QCAPI) libraries and interfaces for
- those who want to control QC testing directly from their code. Full
- source code to an application called BadAPPL that illustrates what QC
- detects as well as how to use the QCAPI. The disk also contains some
- assorted free utilities.
-
- Q: How can I obtain QC?
-
- A: Pricing is $99.95 for a single copy, $400 for a five pack, and $700
- for a ten pack. Please add $5 shipping and handling to each order.
- Credit card orders are accepted. You can contact Onyx via the email
- addresses listed above or by calling 813.795.7801 or faxing
- 813.795.5901. You can also send regular mail to:
-
- Onyx Technology
- 7811 27 Ave W
- Bradenton, FL 34209
-
- Our email addresses are:
-
- America Online: OnyxTech
- Internet: onyxtech@aol.com
- AppleLink: D2238
- CompuServe: 70550,1377
-
- QC is a trademark of Onyx Technology
- Copyright (c) 1994 Onyx Technology
-
- ---------------------------
-
- >From cazelaig@ERE.UMontreal.CA (Cazelais Gilles)
- Subject: ResEdit 2.1.3, is it good this time?
- Date: Wed, 26 Oct 1994 07:26:07 GMT
- Organization: Universite de Montreal
-
-
- Hello folks,
- I just want to know if the recent version of ResEdit
- (2.1.3) is a good version without known bugs, like the nasty one in
- version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- problems with it?
-
- In brief, can I trust it?? I really want to be sure before using it...
-
- Thanks a lot,
-
- Martin.
-
- +++++++++++++++++++++++++++
-
- >From aatrix@aol.com (Aatrix)
- Date: 26 Oct 1994 08:20:01 -0400
- Organization: America Online, Inc. (1-800-827-6364)
-
- In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
- (Cazelais Gilles) writes:
-
- > I just want to know if the recent version of ResEdit
- > (2.1.3) is a good version without known bugs, like the nasty one in
- > version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- problems
- > with it?
-
- Uh, which nasty bug? The one that tanked a file if you copied a resource
- over another that was smaller has been fixed. Don't know about some of
- the others (CNTLs in DLOGs don't display on a Quadra, for one thing).
-
- a.d. jensen,
- Aatrix Software, Inc.
- aatrix@aol.com
- "Forty below keeps out the riff-raff." - North Dakota State Motto
-
-
- +++++++++++++++++++++++++++
-
- >From alain@cs.uchicago.edu (Alain Aslag Roy)
- Date: Wed, 26 Oct 1994 12:57:12 GMT
- Organization: Department of Computer Science, University of Chicago
-
- In article <Cy9rBK.HrJ@cc.umontreal.ca> cazelaig@ERE.UMontreal.CA (Cazelais Gilles) writes:
- >
- >Hello folks,
- > I just want to know if the recent version of ResEdit
- >(2.1.3) is a good version without known bugs, like the nasty one in
- >version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- >problems with it?
-
- I've had no problems with Resedit 2.1.3, and I use it a fair amount. I
- did have problems with 2.1.2, so I guess they really did fix those
- heinous crashes.
-
- -alain
-
- +++++++++++++++++++++++++++
-
- >From nick+@pitt.edu ( nick.c )
- Date: Wed, 26 Oct 1994 11:44:23 -0400
- Organization: The Pitt, Chemistry
-
- In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
- (Cazelais Gilles) wrote:
-
-
- > I just want to know if the recent version of ResEdit
- > (2.1.3) is a good version without known bugs, like the nasty one in
- > version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- > problems with it?
- >
- > In brief, can I trust it?? I really want to be sure before using it...
-
- What the X-files slogan "Trust no one, backup frequently?" :-)
-
- I've been using 2.1.3 for a while now, and had none of the
- corruption problems that I did with 2.1.2. I seem to remember
- a post when 2.1.3 was released claiming all reported bugs were
- dealt with, and that *seems* to be the case.
-
-
- Internet: nick+@pitt.edu _/ _/ _/ _/_/_/ _/ _/
- eWorld: nick _/_/ _/ _/ _/ _/ _/_/_/
- CIS: 71232,766 _/ _/_/ _/ _/ _/ _/
- http://www.pitt.edu/~nick/ _/ _/ _/ _/_/_/ _/ _/
-
-
- +++++++++++++++++++++++++++
-
- >From ross@bnr.ca (Ross Brown)
- Date: Wed, 26 Oct 1994 12:40:49 -0400
- Organization: Bell-Northern Research
-
- In article <Cy9rBK.HrJ@cc.umontreal.ca>, cazelaig@ERE.UMontreal.CA
- (Cazelais Gilles) wrote:
-
- > Hello folks,
- > I just want to know if the recent version of ResEdit
- > (2.1.3) is a good version without known bugs, like the nasty one in
- > version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- > problems with it?
-
- The nasty 2.1.2 bugs are indeed gone. No more file corruption. But...
-
- Try this on a Power Mac. It doesn't seem to happen on 68K Macs - odd,
- since ResEdit runs in full emulation on PPC. I find that this happens
- even with all extensions (and Modern Memory Manager) off.
-
- Copy some resources into the Clipboard. In ResEdit, open a file whose
- resource fork has no resources of the types represented in the Clipboard,
- then paste them in. Close the file, and click "No" when asked if you want
- to save the file. Open the file, and you'll find that the resources
- *were* added to the file, against your instructions.
-
- I sincerely hope that this bug is not traceable to the emulator.
-
- --
- Ross Brown
- Macintosh/UNIX Systems Integration
- Bell-Northern Research Ltd.
- ross@bnr.ca
-
- +++++++++++++++++++++++++++
-
- >From kurisuto@babel.ling.upenn.edu (Sean Crist)
- Date: 26 Oct 1994 20:14:31 GMT
- Organization: University of Pennsylvania, Linguistics Department
-
- In article <Cy9rBK.HrJ@cc.umontreal.ca>,
- Cazelais Gilles <cazelaig@ERE.UMontreal.CA> wrote:
- >
- >Hello folks,
- > I just want to know if the recent version of ResEdit
- >(2.1.3) is a good version without known bugs, like the nasty one in
- >version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- >problems with it?
- >
- >In brief, can I trust it?? I really want to be sure before using it...
-
- There's at least one bug I've come across. Unfortunately I didn't make
- notes of the specific circumstances, but I remember that I was able to
- replicate it. It was something in the DITL editor; I think it had to do
- with resizing CNTL items or something like that.
-
- \/ __ __ _\_ --Kurisuto (kurisuto@unagi.cis.upenn.edu)
- --- | | \ /
- _| ,| ,| ----- For a free copy of the Bill of Rights, finger
- _| ,| ,| [_] this account.
- | | | [_]
-
-
- +++++++++++++++++++++++++++
-
- >From cazelaig@ERE.UMontreal.CA (Cazelais Gilles)
- Date: Wed, 26 Oct 1994 22:51:30 GMT
- Organization: Universite de Montreal
-
- In article <1994Oct26.125712.3989@midway.uchicago.edu> alain@cs.uchicago.edu (Alain Aslag Roy) writes:
- >In article <Cy9rBK.HrJ@cc.umontreal.ca> cazelaig@ERE.UMontreal.CA (Cazelais Gilles) writes:
- >>
- >>Hello folks,
- >> I just want to know if the recent version of ResEdit
- >>(2.1.3) is a good version without known bugs, like the nasty one in
- >>version 2.1.2. Is anybody having some troubles with 2.1.3? Any
- >>problems with it?
- >
- >I've had no problems with Resedit 2.1.3, and I use it a fair amount. I
- >did have problems with 2.1.2, so I guess they really did fix those
- >heinous crashes.
- >
- >-alain
-
-
- So, do you think it really worth to upgrade it from 2.1.1?
-
-
-
-
- +++++++++++++++++++++++++++
-
- >From s.fraser@ic.ac.uk (Simon Fraser)
- Date: Sat, 29 Oct 94 15:56:35 GMT
- Organization: Centre for Population Biology
-
- In article <38mdb7$f2m@netnews.upenn.edu> Sean Crist,
- kurisuto@babel.ling.upenn.edu writes:
- >There's at least one bug I've come across. Unfortunately I didn't make
- >notes of the specific circumstances, but I remember that I was able to
- >replicate it. It was something in the DITL editor; I think it had to do
- >with resizing CNTL items or something like that.
-
- Yes, I've had problems here. Create a new CNTL resource, open a
- DLOG, make a new CNTL item, then double-click to edit it. Just
- as you finish typing the ID of your new CNTL, ResEdit crashes.
- I've found that saving the file _before_ opening the DLOG helps.
-
- I've also found that sometimes editing resources with templates
- fails to set the 'window dirty' flag (or whatever tells ResEdit
- that you've made changes), so ResEdit fails to save changes
- to the resource.
-
- I'm sure there are one or two other things that I've forgotten....
-
- Simon
- __________________________________________________________________________
- Simon Fraser NERC Centre for Population Biology
- s.fraser@ic.ac.uk Imperial College at Silwood Park
- Ascot, Berkshire, SL5 7PY. UK
-
- +++++++++++++++++++++++++++
-
- >From peter.lewis@info.curtin.edu.au (Peter N Lewis)
- Date: Mon, 31 Oct 1994 12:14:37 +0800
- Organization: NCRPDA, Curtin University
-
- ResEdit 2.1.3 is quite useable, but it still has bugs. One that gets me a
- lot is thast it locks up when you open the DITL editor if there is strange
- things in the clipboard. This is on a 6100, System 7.5 - it reliably
- locks up every time if I copy stuff out of SimpleText and then open a
- dialog window for editing in ResEdit. So I just copy something in ResEdit
- before editing dialogs.
- Peter.
- --
- Peter N Lewis <peter.lewis@info.curtin.edu.au> - Macintosh TCP fingerpainter
- FTP my programs from redback.cs.uwa.edu.au:Others/PeterLewis/ or
- amug.org:pub/peterlewis/ or nic.switch.ch:software/mac/peterlewis/
-
- +++++++++++++++++++++++++++
-
- >From Jason.Grossman@ucs.cam.ac.uk (Jason Grossman)
- Date: Mon, 31 Oct 1994 15:03:50 +0000
- Organization: University of Cambridge
-
- Peter N Lewis wrote:
-
- > ResEdit 2.1.3 is quite useable, but it still has bugs. One that gets me a
- > lot is thast it locks up when you open the DITL editor if there is strange
- > things in the clipboard. This is on a 6100, System 7.5 - it reliably
- > locks up every time if I copy stuff out of SimpleText and then open a
- > dialog window for editing in ResEdit. So I just copy something in ResEdit
- > before editing dialogs.
- > Peter.
-
- Ah! It does this to me, too (7100, 7.1), but I'd never realised what the
- conditions were, so I didn't know the work-around of copying something
- before opening a DITL. I've been using the alternative work-around of
- opening the DITL, getting the crash, pressing the emergency reboot button,
- waiting for the machine to restart, and then opening the DITL again.
-
- Jason
-
- +++++++++++++++++++++++++++
-
- >From alyx@apple.com (alyx)
- Date: Thu, 3 Nov 1994 03:46:24 GMT
- Organization: Apple Computer, Inc.
-
- In article <nick+-2610941144230001@ehdup-f-11.slip.net.pitt.edu>,
- nick+@pitt.edu ( nick.c ) wrote:
-
- > [...] I seem to remember
- > a post when 2.1.3 was released claiming all reported bugs were
- > dealt with, and that *seems* to be the case.
-
- ah, memories. anyone else remember the beloved 4D Tools dialog box:
-
- "No problems found. Everything *seems* OK."
-
- quite a nasty sense of humor there...
-
- alex.
-
- ---------------------------
-
- >From red.riders
- Subject: Shareware, VISA Merchant Accounts, and YOU!
- Date: Thu, 03 Nov 1994 00:27:00 -0500
- Organization: DSC/Voicenet - BBS/Unix Shells/SLIP/NEWS - (215)443-7390
-
- Hey homeys, here's some info I had laying around. No more bitching
- about lost shareware dollars, OK?
-
-
- Increase Your Business by Taking Mastercard and Visa
-
-
- Credit card industry experts report that offering customers the ability to pay
- with Visa or Mastercard will increase a company's business between 10%
- and 50%. Whether the increase is closer to 10% or 50% depends on the type
- of business and its particular clientele. Yet there can few tasks more
- difficult for a home-based business than obtaining a merchant account. This
- is because of discrimination against home-based as well as other types of
- businesses by most banks. Nevertheless, home-based businesses do manage
- to be able to offer their customers the ability to use their charge cards.
- There are four basic avenues for securing a merchant account.
-
- I. Financial Institutions
- A. Banks
-
- Even though banks as a general rule are not granting home
- businesses merchant accounts for taking Visa & Mastercard, do try
- your own bank, particularly since they know you as a customer. If
- your bank denies you a merchant account, try small independent
- banks, particularly ones that have their merchant accounts processed
- by an out-of-state bank instead of doing it themselves or using a
- larger local bank. Banks in smaller communities are more apt to work with
- home-based businesses.
-
- B. Saving & Loans, Thrifts and Credit Unions
-
- Most people think of banks as THE only financial institutions
- granting merchant accounts to businesses. However, savings & Loans, thrifts
- and even credit unions are increasingly offering merchant accounts. You
- may find these institutions more willing to work with you.
- Remember that banks, in the words of Larry Schwartz and Pearl
- Sax founders of the National Association of Credit Car Merchants (217 N.
- Seacrest Boulevard, Box 400, Boynton Beach, Florida 33425; (407)
- 737-7500), "need
- reassurance that handling your business will both safe and profitable." It
- almost goes
- without saying that your presentation of your business, your financial
- ability and
- yourself must make your banker feel absolute confidence in you.
-
- II. Business Organizations
- A. Trade Associations
-
- Trade associations sometimes provide access to Visa and Mastercard
- accounts as a member service. Examples of organizations that may be
- helpful are the Retail Merchants Association and Direct Marketing
- Association and others specifically related to your particular industry.
- To find trade associations in your field, use Gale's Encyclopedia of
- Associations, available at the reference desk in most libraries.
-
- B. Local Business Organizations.
-
- Chambers of Commerce and local merchant associations sometimes help
- their members secure merchant accounts through a bank affiliated with the
- Chamber or the association. These can be the least costly merchant accounts
- with discounts as low as 2% to 3% on relatively small volumes.
- III. Independent Selling Organizations
-
- Perhaps the most likely way to get a merchant account is to work through a
- bank agent or independent sales organization (ISO), which is a company
- that acts as an intermediary between small businesses and banks. You will
- undoubtedly pay more using an ISO because these companies derive their
- income from fees and surcharges added to what you would normally pay if were
- able to deal directly with a bank.
-
- You may be quoted these fees and charges when going through an ISO:
-
- o Application fees ranging between $95 to $325. These may or may not be
- refundable. Usually they are not, but find out under what circumstances
- all or part of the fee may be refundable.
-
- o Point of sale terminal lease or purchase. ISO's typically charge from
- $425 to $1700 for a terminal if purchased through a bank would cost
- about $300. Leasing typically runs between $18 and $80 a month. Some
- ISO's are offering software that can be used in place of a sales terminal,
- priced as low as $150.
-
- o Service fees from 3.5% to 7% compared to 2% to 5% from a bank, though
- one ISO
- is quoting fees of 1.99%. This ISO has other charges that tend to make
- up fo the lower
- service fee.
-
- o Per transaction charge of $.20 to $.25
-
- o Monthly statement fee of $5.00 to $10.00
-
- o Minimum monthly fee
-
- Advice about dealing with ISO's. Fees vary considerably among ISO's, so it
- pays to be a
- comparison shopper. Read the contract carefully for hidden charges and
- requirements. You
- may also be required to use a check verification service provided by the
- ISO for an
- additional fee. One final warning. The salespeople for ISO's may be so eager
- to sign you up that they may inaccurately fill out your applications about
- items that
- would not be approved if filled in accurately. The problem is that if a
- falsehood is
- detected later by the bank, your merchant account may be terminated and your
- name placed on a terminated merchant list that bars you from getting another
- merchant account in the future. Subject that are sometimes filled in include
- whether the salesperson has personally inspected your premises and the
- percentage mail order and telephone constitute of your sales. Be sure to
- check your filled in application for accuracy.
-
- Following are independent selling organizations listed in alphabetical order
- that have told us or have been reported by members of the forum to accept
- home businesses for merchant accounts (Asterisked entries are posted in this
- file for the first time):
-
- Bancard, Inc.
- 1233 Sherman Drive
- Longmont, CO 80501
- 303/530-0264
- 800/666-7575
-
- Requires two years in business at the same address.
-
- Data Capture Systems
- 231 Quincy Street
- Rapid City, SD 57701
- 605/341-6461
-
- Comes to your home for an on-site interview and charges $25 to send
- an application plus a $300 application fee.
-
- Electronic Bankcard Systems
- 2554 Lincoln Blvd., Suite 1088
- Marina Del Rey, CA 90291
- 213/827-5772
-
- No mail order, telemarketing or spa sales
-
- Gold Coast Bankcard Center
- Ft. Lauderdale , FL
- 305-492-0303
-
- Affiliated with American Bankcard Center 800-777-VISA
-
- Harbridge Merchant Services
- 681 Andersen Drive, 4th Floor
- Building Six
- Pittsburgh, PA 15220
- (412)937-1272
-
- Under prior ownership, this company was called Peachtree. As Peachtree, it
- was the subject of many complaints, but since the change in ownership,
- the reports are more positive.
-
- Teleflora Creditline
- 12233 West Olympic Boulevard
- Los Angeles CA 90064
- 800-325-4849 or 310/526-5233.
-
- Deals primarily with bulletin boards.
-
- US Merchant Services
- 775 Park Avenue
- Huntington, NY 11743.
- 516 427-9700
- Fax 516 427 9746
- Thomas A. McGuire
-
- IV. Options Other Than Visa and Mastercard
-
- What about American Express and Discover? More people are likely to
- have a Visa or Mastercard. In early 1992 these were the market shares for
- each of the
- principal cards: Visa - 46%; Mastercard - 26%; Am Express - 20%; Discover - 7%.
-
- But American Express is easier to get than Visa and Mastercard. To contact
- American Express, call 800/528-5200. Discover is reportedly as difficult to
- get as Visa and Mastercard; however, the number to call is 800/347-6673.
-
- +++++++++++++++++++++++++++
-
- >From wgiverson@ucdavis.edu (Will Iverson)
- Date: Thu, 03 Nov 1994 00:27:44 -0800
- Organization: University of California, Davis
-
- In article <red.riders-0311940027000001@firefly-slip.voicenet.com>,
- red.riders wrote:
-
- > Hey homeys, here's some info I had laying around. No more bitching
- > about lost shareware dollars, OK?
- >
- >
- > Increase Your Business by Taking Mastercard and Visa
- >
- <snip>
-
- Thanks tremendously for the info! Very interesting & informative!
-
- -Will
-
- +++++++++++++++++++++++++++
-
- >From dbayly@homebase.tiac.net (David Bayly)
- Date: Thu, 03 Nov 1994 10:14:50 -0500
- Organization: Chez moi
-
- In article <wgiverson-0311940027440001@modem68.ucdavis.edu>,
- wgiverson@ucdavis.edu (Will Iverson) wrote:
-
- > In article <red.riders-0311940027000001@firefly-slip.voicenet.com>,
- > red.riders wrote:
- >
- > > Hey homeys, here's some info I had laying around. No more bitching
- > > about lost shareware dollars, OK?
- > > Increase Your Business by Taking Mastercard and Visa
- > >
- > <snip>
- >
- > Thanks tremendously for the info! Very interesting & informative!
- >
- > -Will
-
- Theres also, netcash, which I am in the process of learning about. The way
- to do that is to send mail to help@agents.com. They have merchant
- accounts, Peter Lewis for one uses them.
- --
- - David Bayly dbayly@homebase.tiac.net
- "If you keep your mind sufficiently open, people will throw a lot of rubbish into it." -William A. Orton
-
- +++++++++++++++++++++++++++
-
- >From kurisuto@babel.ling.upenn.edu (Sean Crist)
- Date: 3 Nov 1994 21:41:46 GMT
- Organization: University of Pennsylvania, Linguistics Department
-
- One thing to be careful of if you're arranging this: the bank may charge
- you a minimum monthly fee for this service (something like $5 or $10 a
- month). I once arranged VISA/MasterCard service of this sort for a small
- charitable organization; I can't remember all the details, but I remember
- that it ended up being enough of a money leech that we decided that it
- wasn't worth it to continue the arrangement.
-
- \/ __ __ _\_ --Kurisuto (kurisuto@unagi.cis.upenn.edu)
- --- | | \ /
- _| ,| ,| ----- For a free copy of the Bill of Rights, finger
- _| ,| ,| [_] this account.
- | | | [_]
-
- ---------------------------
-
- >From nagle@netcom.com (John Nagle)
- Subject: Smalltalk implementations for Mac - update needed
- Date: Fri, 28 Oct 1994 06:26:27 GMT
- Organization: NETCOM On-line Communication Services (408 261-4700 guest)
-
- I've been away from Smalltalk on the Mac for a while, and I need
- to get up to date. I'd appreciate answers to the following questions.
-
- 1. I know about ParcPlace and Digitalk. Any other vendors?
- (Somebody else was in Real Soon Now status, as I recall.)
-
- 2. Did Digitalk ever do much with the Mac implementation, like
- provide a compiler or a reasonable way to generate a standalone app?
-
- 3. I need something that can respond to Table Suite AppleEvents.
- (That is, I will be writing a program that responds, but I need
- a Smalltalk with AE support.) Suggestions?
-
- Thanks.
-
- John Nagle
-
- +++++++++++++++++++++++++++
-
- >From podenski@halcyon.com (Patrick Podenski)
- Date: Sat, 29 Oct 1994 18:39:46 -0700
- Organization: Northwest Nexus
-
- In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) wrote:
-
- > I've been away from Smalltalk on the Mac for a while, and I need
- > to get up to date. I'd appreciate answers to the following questions.
- >
- > 1. I know about ParcPlace and Digitalk. Any other vendors?
- > (Somebody else was in Real Soon Now status, as I recall.)
- >
- > 2. Did Digitalk ever do much with the Mac implementation, like
- > provide a compiler or a reasonable way to generate a standalone app?
-
- A new version was put out a while ago (V 2 ?), but I haven't seen it.
- >
- > 3. I need something that can respond to Table Suite AppleEvents.
- > (That is, I will be writing a program that responds, but I need
- > a Smalltalk with AE support.) Suggestions?
-
- There is a new Smalltalk from Quasar Knowledge Systems for the Mac that is
- supposed to be nice. It apparently caters to Mac specific things like you
- mentioned in 3.
-
- --
- - ----------------------------------------------
- Pat Podenski | my opinions are my own,
- podenski@halcyon.com | as are yours yours!
- - ----------------------------------------------
-
- +++++++++++++++++++++++++++
-
- >From jwbaxter@olympus.net (John W. Baxter)
- Date: Sat, 29 Oct 1994 20:49:05 -0700
- Organization: Internet for the Olympic Peninsula
-
- In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) wrote:
-
- > I've been away from Smalltalk on the Mac for a while, and I need
- > to get up to date. I'd appreciate answers to the following questions.
- >
- > 1. I know about ParcPlace and Digitalk. Any other vendors?
- > (Somebody else was in Real Soon Now status, as I recall.)
-
- QKS (Quasar Knowledge Systems) SmalltalkAgents. I bought that on nearly
- the last day of their User group special (ended Sep 30). I like it a
- lot. It provides pretty good coverage of special Mac things, while at the
- same time being highly cross-platform in nature (doesn't matter to me (I
- don't have a cross platform, only a contented Mac), does matter to some
- others). I'm still in the learning stage, but I like "STA" a lot.
-
- > 2. Did Digitalk ever do much with the Mac implementation, like
- > provide a compiler or a reasonable way to generate a standalone app?
-
- They finally did...they still don't seem terribly interested in the Mac,
- however. My Smalltalk V/Mac is back on the shelf.
-
- > 3. I need something that can respond to Table Suite AppleEvents.
- > (That is, I will be writing a program that responds, but I need
- > a Smalltalk with AE support.) Suggestions?
-
- I *think* you could arrange this either either Smalltalk V/Mac or
- SmalltalkAgents. I think it would be less work with SmalltalkAgents.
-
- --John
-
- --
- John Baxter Port Ludlow, WA, USA [West shore, Puget Sound]
- Sorry...clever signatures require cleverness, not found here.
- jwbaxter@pt.olympus.net
-
- +++++++++++++++++++++++++++
-
- >From vollrath@vax.oxford.ac.uk (Alun ap Rhisiart)
- Date: 30 Oct 94 17:02:30 GMT
- Organization: Oxford University VAX 6620
-
- In article <nagleCyDDw4.EAy@netcom.com>, nagle@netcom.com (John Nagle) writes:
- > I've been away from Smalltalk on the Mac for a while, and I need
- > to get up to date. I'd appreciate answers to the following questions.
- >
- > 1. I know about ParcPlace and Digitalk. Any other vendors?
- > (Somebody else was in Real Soon Now status, as I recall.)
- Those two plus QKS SmalltalkAgents. I don't think Smalltalk/X is on the Mac yet
- (and neither is IBM's VisualAge, as you might have guessed).
- >
- > 2. Did Digitalk ever do much with the Mac implementation, like
- > provide a compiler or a reasonable way to generate a standalone app?
- >
- Not really. You had v1.2 didn't you, John? When the released v2 I was looking
- forward to something better than that old cloner, but no, it was exactly the
- same. They did do a lot to v2.0 (like system 7 support - including AE - and an
- even-driven interface, block-based exceptions, stuff like that). Unfortunately,
- the changes meant that the old tools, like Widgets (a al windowbuilder),
- Profile/V, and so on, no longer worked. We are _still waiting_ for an update
- for widgets to give us a GUI builder! Compatibility with other platforms is
- said to be 'improved', but evidently not much or windowbuilder would have been
- ported a year ago. It is also no faster, by the way, and Digitalk are not more
- responsive (except, I gather, through Compu$erve - although they are on this
- group more often now, which is something).
- > 3. I need something that can respond to Table Suite AppleEvents.
- > (That is, I will be writing a program that responds, but I need
- > a Smalltalk with AE support.) Suggestions?
- >
- STA is the way to go for this kind of stuff (and a lot else). The main
- criticisms of it at the moment would be: on Mac only (but other platforms on
- the way); no equivalent of Envy for version control and config management (but
- home grown solution due in v2); changes management is pretty poor (less
- reliable and convenient than even St/Vs change log), but again is being worked
- on.
- Main strengths are: speed; very easy access to C (especially), pascal, fortran,
- etc functions; saving objects to file or sending over network is very nicely
- done, and *tons* faster than the V solution); multithreaded; very easy and
- quick way to make standalones. My St/V is on the shelf too. The problem is that
- after using STA for a while you forget how far beyond the others it has gone,
- and it becomes easy to under-sell it.
- > Thanks.
- >
- > John Nagle
- --
- Alun ap Rhisiart
- Animal Behaviour Research Group
- Oxford University
- vollrath@vax.ox.ac.uk
- (also not a paid endorsement. Not that I object to being paid, you understand!)
-
- +++++++++++++++++++++++++++
-
- >From gburian@epaus.island.net (Geoff Burian)
- Date: 30 Oct 1994 15:01:47 -0800
- Organization: Island Internet Inc - (604) 753-2383
-
- In article <nagleCyDDw4.EAy@netcom.com>, John Nagle <nagle@netcom.com> wrote:
- > I've been away from Smalltalk on the Mac for a while, and I need
- >to get up to date. I'd appreciate answers to the following questions.
- >
- > 1. I know about ParcPlace and Digitalk. Any other vendors?
- > (Somebody else was in Real Soon Now status, as I recall.)
-
- Check out SmalltalkAgents from Quasar Knowledge Systems. The info
- they sent me was very impressive. There's a good article in the
- April '94 edition of MacTech. SmalltalkAgents is a superset of standard
- Smalltalk, but it seems to have good access to Toolbox calls and
- external (i.e., C, Pascal) code routines.
-
- QKS - 1-800-296-1339, info@qks.com
-
- Geof Burian
- gburian@island.net
-
- +++++++++++++++++++++++++++
-
- >From kiisaka@is.morgan.com (Ken Iisaka)
- Date: Wed, 2 Nov 1994 23:00:26 GMT
- Organization: Or Lack Thereof
-
- In article <3918ks$a5l@epaus.island.net>, gburian@epaus.island.net (Geoff Burian) writes:
- |> In article <nagleCyDDw4.EAy@netcom.com>, John Nagle <nagle@netcom.com> wrote:
- |> > I've been away from Smalltalk on the Mac for a while, and I need
- |> >to get up to date. I'd appreciate answers to the following questions.
- |> >
- |> > 1. I know about ParcPlace and Digitalk. Any other vendors?
- |> > (Somebody else was in Real Soon Now status, as I recall.)
- |>
- |> Check out SmalltalkAgents from Quasar Knowledge Systems. The info
- |> they sent me was very impressive. There's a good article in the
- |> April '94 edition of MacTech. SmalltalkAgents is a superset of standard
- ^^^^^^^^
- |> Smalltalk, but it seems to have good access to Toolbox calls and
-
- What standard Smalltalk? The ANSI ST? PPS? Digitalk? There is no
- standard that I know of that has been implemented.
-
- --
- | ### ### | ### ### ### | ### ### | ### ### ### |
- | ### ### | ### ### ### | ### ### | ### ### ### |
- | ### ### | ### ### ### | ### ### | ### ### ### |
- | ### ### | ### ### ### | ### ### | ### ### ### |
- | | | | | | | | | | | | | | |
- | Ken Iisaka | (kiisaka@morgan.com) | Morgan Stanley & Co. Inc |
- | 1 Pierrepont Plz, Brooklyn, NY 11201 | All disclaimers apply. |
- |____|____|____|____|____|____|____|____|____|____|____|____|____|____|___
- "Smalltalk Goes Object Oriented" - INFORMATIONWEEK, August 8, 1994, pg. 58
-
- ---------------------------
-
- >From gpointer@guest.adelaide.edu.au (Geoff Pointer)
- Subject: What is MIDI Manager etc (reply)
- Date: 1 Nov 1994 00:26:05 GMT
- Organization: PatchUp
-
- There's nothing wrong with writing your own MIDI driver unless
- you don't have to (for kicks??). The whole point of an *idea*
- like MIDI Manager is to provide programmers with a consistent
- interface to work with that fits in with the multiprogramming
- environment. The problem seems to be that for obscure business
- reasons Apple has remained light on the provision and support
- of MIDI facilities. Having a MIDI Manager is just like having
- a File Manager or a Dialog Manager, ie, built in support.
- Unfortunately few *big* software companies are behind its
- use because its been a long time coming of age and hasn't yet.
- I personally would rather not have to write my own MIDI Driver
- so I intend to pursue development with the MIDI manager. The
- problem with music programs in a multiprogramming environment
- is the use of the serial port, if you have several MIDI programs
- running at once for different purposes they argue about who's
- going to get the port and you often end up having to reboot.
- To avoid this you use them independently which is anathema
- to modern operating systems.
- The beauty of the MIDI Manager is the way it arbitrates the
- use of the serial port. Now, someone here mentioned that there
- are programs that let you do both - use the port directly or use
- it via the MIDI Manager. Cubase is supposedly one of these -
- HAH!!, as soon as you play back a piece in Cubase, via MM, any
- program that uses MM solely gets nowhere. You have to open
- PatchBay and turn off the port and turn it back on again every
- time.
- I am still having difficulty with discovering which way to
- go from this point of view as I believe the idea of being able
- to have several MIDI tools open at once working in harmony is
- one of the most important aspects of MIDI programming today.
- Phew, there, I said it.
-
- - --------- Cheers - Geoff %^> ----------
-
- What???..... No signature!!??.... OK, I give in:
-
- "I'm not afraid of dying. ...
- I just don't want to be there when it happens." Woody Allen.
-
- - ---------------------------------------
-
-
- +++++++++++++++++++++++++++
-
- >From magma@cray-ymp.acm.stuorg.vt.edu (Christian Fowler)
- Date: 2 Nov 1994 17:57:19 GMT
- Organization: ACM Student Machine
-
-
- You can get the OMS (open Midi System) Development kit from Opcode for
- about $15.00. Several big name apps use it like Vision/StudiVision/Galaxy
- (of course) as well as Deck, SampleCell II Editor, and maybe the newest
- Cubase, but I'm not sure on that one. Anyway, OMS is very nice.
-
- --
- +-+
- +-+|+-+ Christian Fowler | shape
- +-+|+-+ magma@acm.vt.edu | FACTOR moMeNt
- +-+
-
-
-
- ---------------------------
-
- End of C.S.M.P. Digest
- **********************
-
-
-